﻿//​请编写一个类Test，其中包含了多个数据交换函数，名称都为Swap。本题已经给出了main函数的实现
//，请编写类Test代码并提交。main函数代码如下：
const int n = 5;//重点
#include <iostream>
#include<string>
#include <iomanip> 
using namespace std;
class Test
{
public:
	void Swap(int a, int b)
	{
		int c = a;
		a = b;
		b = c;
	}
	void Swap(int *c, int *d)
	{
		int T;
		T = *c;
		*c = *d;
		*d = T;

	}
	void Swap(float &e, float &f)
	{
		float t = e;
		e = f;
		f = t;
	}
	void Swap(int ints[5])
	{
		for (int i = 0; i < 5; i++)
		{
			ints[i]=ints[i] + 1;
		}
	}
	void Print(int ints[5])
	{
		for (int i = 0; i <5; i++)
		{
			cout << ints[i]<< endl;
		}
}
};
//fixed 操作符可能最重要的还是当它与 setprecision 操作符一起使用时，setprecision 
//即可以以一种新的方式显示。它将指定浮点数字的小数点后要显示的位数，而不是要显示的总有效数位数。
//而这通常正是我们想要的。

int main()
{
	int a, b;
	int c, d;
	float e, f;
	int ints[5];
	Test* o = new Test();


	cin >> a >> b;
	cin >> c >> d;
	cin >> e >> f;
	for (int i = 0; i < 5; i++)
	{
		cin >> ints[i];
	}
	o->Swap(a, b);
	o->Swap(&c, &d);
	o->Swap(e, f);
	o->Swap(ints);
	cout << a << endl;
	cout << b << endl;
	cout << c << endl;
	cout << d << endl;
	cout << fixed << setprecision(2) << e << endl;
	cout << fixed << setprecision(2) << f << endl;
	o->Print(ints);

	return 0;
}